home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / emac1927.zip / emac1927 / Makefile.in < prev    next >
Makefile  |  1994-08-14  |  20KB  |  522 lines

  1. # DIST: This is the distribution Makefile for Emacs.  configure can
  2. # DIST: make most of the changes to this file you might want, so try
  3. # DIST: that first.
  4.  
  5. # make all    to compile and build Emacs.
  6. # make install    to install it.
  7. # make TAGS    to update tags tables.
  8. #
  9. # make clean  or  make mostlyclean
  10. #      Delete all files from the current directory that are normally
  11. #      created by building the program.     Don't delete the files that
  12. #      record the configuration.  Also preserve files that could be made
  13. #      by building, but normally aren't because the distribution comes
  14. #      with them.
  15. #
  16. #      Delete `.dvi' files here if they are not part of the distribution.
  17. # make distclean
  18. #      Delete all files from the current directory that are created by
  19. #      configuring or building the program.  If you have unpacked the
  20. #      source and built the program without creating any other files,
  21. #      `make distclean' should leave only the files that were in the
  22. #      distribution.
  23. # make realclean
  24. #      Delete everything from the current directory that can be
  25. #      reconstructed with this Makefile.  This typically includes
  26. #      everything deleted by distclean, plus more: C source files
  27. #      produced by Bison, tags tables, info files, and so on.
  28. #
  29. # make extraclean
  30. #      Still more severe - delete backup and autosave files, too.
  31.  
  32. SHELL = /bin/sh
  33.  
  34. # If Make doesn't predefine MAKE, set it here.
  35. @SET_MAKE@
  36.  
  37. # ==================== Things `configure' Might Edit ====================
  38.  
  39. CC=@CC@
  40. CPP=@CPP@
  41. C_SWITCH_SYSTEM=@c_switch_system@
  42. ALLOCA=@ALLOCA@
  43. LN_S=@LN_S@
  44. CFLAGS=@CFLAGS@
  45. C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
  46. LD_SWITCH_X_SITE=@LD_SWITCH_X_SITE@
  47. YACC=@YACC@
  48.  
  49. ### These help us choose version- and architecture-specific directories
  50. ### to install files in.
  51.  
  52. ### This should be the number of the Emacs version we're building,
  53. ### like `18.59' or `19.0'.
  54. version=@version@
  55.  
  56. ### This should be the name of the configuration we're building Emacs
  57. ### for, like `mips-dec-ultrix' or `sparc-sun-sunos'.
  58. configuration=@configuration@
  59.  
  60. # ==================== Where To Install Things ====================
  61.  
  62. # The default location for installation.  Everything is placed in
  63. # subdirectories of this directory.  The default values for many of
  64. # the variables below are expressed in terms of this one, so you may
  65. # not need to change them.  This defaults to /usr/local.
  66. prefix=@prefix@
  67.  
  68. # Like `prefix', but used for architecture-specific files.
  69. exec_prefix=@exec_prefix@
  70.  
  71. # Where to install Emacs and other binaries that people will want to
  72. # run directly (like etags).
  73. bindir=@bindir@
  74.  
  75. # Where to install architecture-independent data files.     ${lispdir}
  76. # and ${etcdir} are subdirectories of this.
  77. datadir=@datadir@
  78.  
  79. # Where to install and expect the files that Emacs modifies as it
  80. # runs.     These files are all architecture-independent. Right now, the
  81. # only such data is the locking directory; ${lockdir} is a
  82. # subdirectory of this.
  83. statedir=@statedir@
  84.  
  85. # Where to install and expect executable files to be run by Emacs
  86. # rather than directly by users, and other architecture-dependent
  87. # data.     ${archlibdir} is a subdirectory of this.
  88. libdir=@libdir@
  89.  
  90. # Where to install Emacs's man pages, and what extension they should have.
  91. mandir=@mandir@
  92. manext=.1
  93.  
  94. # Where to install and expect the info files describing Emacs.    In the
  95. # past, this defaulted to a subdirectory of ${prefix}/lib/emacs, but
  96. # since there are now many packages documented with the texinfo
  97. # system, it is inappropriate to imply that it is part of Emacs.
  98. infodir=@infodir@
  99.  
  100. # Where to find the source code.  The source code for Emacs's C kernel is
  101. # expected to be in ${srcdir}/src, and the source code for Emacs's
  102. # utility programs is expected to be in ${srcdir}/lib-src.  This is
  103. # set by the configure script's `--srcdir' option.
  104. srcdir=@srcdir@
  105.  
  106. # Tell make where to find source files; this is needed for the makefiles.
  107. VPATH=@srcdir@
  108.  
  109. # ==================== Emacs-specific directories ====================
  110.  
  111. # These variables hold the values Emacs will actually use.  They are
  112. # based on the values of the standard Make variables above.
  113.  
  114. # Where to install the lisp files distributed with
  115. # Emacs.  This includes the Emacs version, so that the
  116. # lisp files for different versions of Emacs will install
  117. # themselves in separate directories.
  118. lispdir=@lispdir@
  119.  
  120. # Directories Emacs should search for lisp files specific
  121. # to this site (i.e. customizations), before consulting
  122. # ${lispdir}.  This should be a colon-separated list of
  123. # directories.
  124. locallisppath=@locallisppath@
  125.  
  126. # Where Emacs will search to find its lisp files.  Before
  127. # changing this, check to see if your purpose wouldn't
  128. # better be served by changing locallisppath.  This
  129. # should be a colon-separated list of directories.
  130. lisppath=@lisppath@
  131.  
  132. # Where Emacs will search for its lisp files while
  133. # building.  This is only used during the process of
  134. # compiling Emacs, to help Emacs find its lisp files
  135. # before they've been installed in their final location.
  136. # It's usually identical to lisppath, except that 
  137. # it does not include locallisppath, and the
  138. # entry for the directory containing the installed lisp
  139. # files has been replaced with ../lisp.  This should be a
  140. # colon-separated list of directories.
  141. buildlisppath=${srcdir}/lisp
  142.  
  143. # Where to install the other architecture-independent
  144. # data files distributed with Emacs (like the tutorial,
  145. # the cookie recipes and the Zippy database). This path
  146. # usually contains the Emacs version number, so the data
  147. # files for multiple versions of Emacs may be installed
  148. # at once.
  149. etcdir=@etcdir@
  150.  
  151. # Where to create and expect the locking directory, where
  152. # the Emacs locking code keeps track of which files are
  153. # currently being edited.
  154. lockdir=@lockdir@
  155.  
  156. # Where to put executables to be run by Emacs rather than
  157. # the user.  This path usually includes the Emacs version
  158. # and configuration name, so that multiple configurations
  159. # for multiple versions of Emacs may be installed at
  160. # once.
  161. archlibdir=@archlibdir@
  162.  
  163. # Where to put the docstring file.
  164. docdir=@docdir@
  165.  
  166. # ==================== Utility Programs for the Build ====================
  167.  
  168. # Allow the user to specify the install program.
  169. INSTALL = @INSTALL@
  170. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  171. INSTALL_DATA = @INSTALL_DATA@
  172.  
  173. # ============================= Targets ==============================
  174.  
  175. # What emacs should be called when installed.
  176. EMACS = emacs
  177.  
  178. # Subdirectories to make recursively.  `lisp' is not included
  179. # because the compiled lisp files are part of the distribution
  180. # and you cannot remake them without installing Emacs first.
  181. SUBDIR = lib-src src
  182.  
  183. # The makefiles of the directories in $SUBDIR.
  184. SUBDIR_MAKEFILES = lib-src/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile
  185.  
  186. # Subdirectories to install, and where they'll go.
  187. # lib-src's makefile knows how to install it, so we don't do that here.
  188. # When installing the info files, we need to do special things to
  189. # avoid nuking an existing dir file, so we don't do that here;
  190. # instead, we have written out explicit code in the `install' targets.
  191. COPYDIR = ${srcdir}/etc ${srcdir}/lisp
  192. COPYDESTS = ${etcdir} ${lispdir}
  193.  
  194. all:    paths-force ${SUBDIR}
  195.  
  196. removenullpaths=sed -e 's/^://g' -e 's/:$$//g' -e 's/::/:/g'
  197.  
  198. # Note that sed is not in /bin on 386bsd.
  199. src/paths.h: Makefile ${srcdir}/src/paths.h.in
  200.     @echo "Producing \`src/paths.h' from \`src/paths.h.in'."
  201.     @(lisppath=`echo ${lisppath} | ${removenullpaths}` ;        \
  202.       buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ;    \
  203.       sed < ${srcdir}/src/paths.h.in > src/paths.h.tmp        \
  204.       -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";'    \
  205.       -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' \
  206.       -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";'        \
  207.       -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";'            \
  208.       -e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";'            \
  209.       -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";'            \
  210.       -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";')
  211.     @${srcdir}/move-if-change src/paths.h.tmp src/paths.h
  212.  
  213. # For `make all',
  214. # we force the rebuilding of src/paths.h because the user might give
  215. # make different values for the various directories.  Since we use
  216. # move-if-change, src/paths.h only actually changes if the user did
  217. # something notable, so the only unnecessary work we do is in building
  218. # src/paths.h.tmp, which isn't much.
  219. # Note that sed is not in /bin on 386bsd.
  220. paths-force: FRC.src.paths.h
  221.     @echo "Producing \`src/paths.h' from \`src/paths.h.in'."
  222.     @(lisppath=`echo ${lisppath} | ${removenullpaths}` ;        \
  223.       buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ;    \
  224.       sed < ${srcdir}/src/paths.h.in > src/paths.h.tmp        \
  225.       -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";'    \
  226.       -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' \
  227.       -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";'        \
  228.       -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";'            \
  229.       -e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";'            \
  230.       -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";'            \
  231.       -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";')
  232.     @${srcdir}/move-if-change src/paths.h.tmp src/paths.h
  233.  
  234. src:    lib-src FRC.src src/paths.h
  235.  
  236. # This ought to depend on src/paths.h, so that in parallel make
  237. # src/paths.h will be available for the compilations in lib-src.
  238. # But that causes trouble in `make install' if a different prefix
  239. # is specified at that time.
  240. lib-src: FRC.lib-src src/paths.h
  241.  
  242. .RECURSIVE: ${SUBDIR}
  243.  
  244. ${SUBDIR}: ${SUBDIR_MAKEFILES} FRC
  245.     cd $@; $(MAKE) all $(MFLAGS) \
  246.       CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
  247.       LDFLAGS='${LDFLAGS}' MAKE='${MAKE}'
  248.  
  249. blessmail: ${SUBDIR_MAKEFILES} src FRC
  250.     cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) MAKE='${MAKE}'
  251.  
  252. Makefile: Makefile.in config.status
  253.     ./config.status
  254.  
  255. src/Makefile: src/Makefile.in.in config.status
  256.     ./config.status
  257.  
  258. lib-src/Makefile: lib-src/Makefile.in config.status
  259.     ./config.status
  260.  
  261. oldXMenu/Makefile: oldXMenu/Makefile.in config.status
  262.     ./config.status
  263.  
  264. lwlib/Makefile: lwlib/Makefile.in config.status
  265.     ./config.status
  266.  
  267. # ==================== Installation ====================
  268.  
  269. ## If we let lib-src do its own installation, that means we
  270. ## don't have to duplicate the list of utilities to install in
  271. ## this Makefile as well.
  272.  
  273. ## On AIX, use tar xBf.
  274. ## On Xenix, use tar xpf.
  275.  
  276. .PHONY: install mkdir
  277.  
  278. ## We delete each directory in ${COPYDESTS} before we copy into it;
  279. ## that way, we can reinstall over directories that have been put in
  280. ## place with their files read-only (perhaps because they are checked
  281. ## into RCS).  In order to make this safe, we make sure that the
  282. ## source exists and is distinct from the destination.
  283. ## We don't depend on `all', but rather on ${SUBDIR}, so that we won't
  284. ## ever modify src/paths.h.
  285. install: ${SUBDIR} install-arch-dep install-arch-indep blessmail;
  286.  
  287. ### Note that we copy the DOC-* files from the build etc directory
  288. ### as well as lots of things from ${srcdir}/etc.
  289. install-arch-dep: mkdir
  290.     (cd lib-src; \
  291.       $(MAKE) install $(MFLAGS) prefix=${prefix} \
  292.         exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \
  293.         archlibdir=${archlibdir})
  294.     ${INSTALL_PROGRAM} src/emacs ${bindir}/emacs-${version}
  295.     -chmod 1755  ${bindir}/emacs-${version}
  296.     rm -f ${bindir}/$(EMACS)
  297.     -ln ${bindir}/emacs-${version} ${bindir}/$(EMACS)
  298.  
  299. ### Note that we copy the DOC-* files from the build etc directory
  300. ### as well as lots of things from ${srcdir}/etc.
  301. install-arch-indep: mkdir
  302.     -set ${COPYDESTS} ; \
  303.      for dir in ${COPYDIR} ; do \
  304.        if [ `(cd $$1 && /bin/pwd)` != `(cd $${dir} && /bin/pwd)` ] ; then \
  305.          rm -rf $$1 ; \
  306.        fi ; \
  307.        shift ; \
  308.      done
  309.     -set ${COPYDESTS} ; \
  310.      mkdir ${COPYDESTS} ; \
  311.      for dir in ${COPYDIR} ; do \
  312.        dest=$$1 ; shift ; \
  313.        [ -d $${dir} ] \
  314.        && [ `(cd $${dir} && /bin/pwd)` != `(cd $${dest} && /bin/pwd)` ] \
  315.        && (echo "Copying $${dir}..." ; \
  316.            (cd $${dir}; tar -cf - . )|(cd $${dest};umask 022; tar -xvf - ); \
  317.            for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
  318.          rm -rf $${subdir}/RCS ; \
  319.          rm -rf $${subdir}/CVS ; \
  320.          rm -f  $${subdir}/\#* ; \
  321.          rm -f  $${subdir}/*~ ; \
  322.            done) ; \
  323.      done
  324.     if [ `(cd ./etc; /bin/pwd)` != `(cd ${docdir}; /bin/pwd)` ]; \
  325.     then \
  326.        echo "Copying etc/DOC* ..." ; \
  327.        (cd etc; tar -cf - DOC*)|(cd ${docdir}; umask 0; tar -xvf - ); \
  328.     else true; fi
  329.     thisdir=`/bin/pwd`; \
  330.     if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
  331.     then \
  332.       (cd ${srcdir}/info ; \
  333.        if [ ! -f ${infodir}/dir ] && [ -f dir ]; then \
  334.          (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir); \
  335.        fi ; \
  336.        for f in cl* dired-x* emacs* forms* gnus* info* sc* vip* ; do \
  337.          (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f); \
  338.        done); \
  339.     else true; fi
  340.     thisdir=`/bin/pwd`; cd ${srcdir}/etc; for page in emacs etags ctags ; do \
  341.       (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext}); \
  342.     done
  343.  
  344. ### Build all the directories we're going to install Emacs in.    Since
  345. ### we may be creating several layers of directories (for example,
  346. ### /usr/local/lib/emacs/19.0/mips-dec-ultrix4.2), we use make-path
  347. ### instead of mkdir.  Not all systems' mkdirs have the `-p' flag.
  348. mkdir: FRC.mkdir
  349.     ./lib-src/make-path ${COPYDESTS} ${lockdir} ${infodir} ${mandir} \
  350.       ${bindir} ${datadir} ${docdir} ${libdir} \
  351.       `echo ${locallisppath} | sed 's/:/ /g'`
  352.     -chmod 777 ${lockdir}
  353.  
  354. ### Delete all the installed files that the `install' target would
  355. ### create (but not the noninstalled files such as `make all' would
  356. ### create).
  357. ###
  358. ### Don't delete the lisp and etc directories if they're in the source tree.
  359. uninstall:
  360.     (cd lib-src;                     \
  361.      $(MAKE) $(MFLAGS) uninstall            \
  362.         prefix=${prefix} exec_prefix=${exec_prefix}    \
  363.         bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir})
  364.     for dir in ${lispdir} ${etcdir} ; do         \
  365.       if [ -d $${dir} ]; then            \
  366.         case `(cd $${dir} ; /bin/pwd)` in        \
  367.           `(cd ${srcdir} ; /bin/pwd)`* ) ;;        \
  368.           * ) rm -rf $${dir} ;;            \
  369.         esac ;                    \
  370.         case $${dir} in                \
  371.           ${datadir}/emacs/${version}/* )        \
  372.             rm -rf ${datadir}/emacs/${version}    \
  373.           ;;                    \
  374.         esac ;                    \
  375.       fi ;                        \
  376.     done
  377.     (cd ${infodir}; rm -f cl* emacs* forms* info* vip*)
  378.     (cd ${mandir};  rm -f emacs.1 etags.1 ctags.1)
  379.     (cd ${bindir};  rm -f emacs-${version} $(EMACS))
  380.  
  381.  
  382. ### Some makes seem to remember that they've built something called FRC,
  383. ### so you can only use a given FRC once per makefile.
  384. FRC FRC.src.paths.h FRC.src FRC.lib-src FRC.mkdir:
  385. FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean:
  386.  
  387. # ==================== Cleaning up and miscellanea ====================
  388.  
  389. .PHONY: mostlyclean clean distclean realclean extraclean
  390.  
  391. ### `mostlyclean'
  392. ###      Like `clean', but may refrain from deleting a few files that people
  393. ###      normally don't want to recompile.  For example, the `mostlyclean'
  394. ###      target for GCC does not delete `libgcc.a', because recompiling it
  395. ###      is rarely necessary and takes a lot of time.
  396. mostlyclean: FRC.mostlyclean
  397.     (cd src;      $(MAKE) $(MFLAGS) mostlyclean)
  398.     (cd oldXMenu; $(MAKE) $(MFLAGS) mostlyclean)
  399.     (cd lwlib;    $(MAKE) $(MFLAGS) mostlyclean)
  400.     (cd lib-src;  $(MAKE) $(MFLAGS) mostlyclean)
  401.     -(cd man &&   $(MAKE) $(MFLAGS) mostlyclean)
  402.  
  403. ### `clean'
  404. ###      Delete all files from the current directory that are normally
  405. ###      created by building the program.  Don't delete the files that
  406. ###      record the configuration.  Also preserve files that could be made
  407. ###      by building, but normally aren't because the distribution comes
  408. ###      with them.
  409. ### 
  410. ###      Delete `.dvi' files here if they are not part of the distribution.
  411. clean: FRC.clean
  412.     (cd src;      $(MAKE) $(MFLAGS) clean)
  413.     (cd oldXMenu; $(MAKE) $(MFLAGS) clean)
  414.     (cd lwlib;    $(MAKE) $(MFLAGS) clean)
  415.     (cd lib-src;  $(MAKE) $(MFLAGS) clean)
  416.     -(cd man &&   $(MAKE) $(MFLAGS) clean)
  417.  
  418. ### `distclean'
  419. ###      Delete all files from the current directory that are created by
  420. ###      configuring or building the program.  If you have unpacked the
  421. ###      source and built the program without creating any other files,
  422. ###      `make distclean' should leave only the files that were in the
  423. ###      distribution.
  424. top_distclean=\
  425.     rm -f config.status build-install ; \
  426.     rm -f Makefile ${SUBDIR_MAKEFILES} ; \
  427.     (cd lock ; rm -f *)
  428. distclean: FRC.distclean
  429.     (cd src;      $(MAKE) $(MFLAGS) distclean)
  430.     (cd oldXMenu; $(MAKE) $(MFLAGS) distclean)
  431.     (cd lwlib;    $(MAKE) $(MFLAGS) distclean)
  432.     (cd lib-src;  $(MAKE) $(MFLAGS) distclean)
  433.     (cd man &&    $(MAKE) $(MFLAGS) distclean)
  434.     ${top_distclean}
  435.     
  436.  
  437. ### `realclean'
  438. ###      Delete everything from the current directory that can be
  439. ###      reconstructed with this Makefile.  This typically includes
  440. ###      everything deleted by distclean, plus more: C source files
  441. ###      produced by Bison, tags tables, info files, and so on.
  442. ### 
  443. ###      One exception, however: `make realclean' should not delete
  444. ###      `configure' even if `configure' can be remade using a rule in the
  445. ###      Makefile.  More generally, `make realclean' should not delete
  446. ###      anything that needs to exist in order to run `configure' and then
  447. ###      begin to build the program.
  448. realclean: FRC.realclean
  449.     (cd src;      $(MAKE) $(MFLAGS) realclean)
  450.     (cd oldXMenu; $(MAKE) $(MFLAGS) realclean)
  451.     (cd lwlib;    $(MAKE) $(MFLAGS) realclean)
  452.     (cd lib-src;  $(MAKE) $(MFLAGS) realclean)
  453.     -(cd man &&   $(MAKE) $(MFLAGS) realclean)
  454.     ${top_distclean}
  455.  
  456. ### This doesn't actually appear in the coding standards, but Karl
  457. ### says GCC supports it, and that's where the configuration part of
  458. ### the coding standards seem to come from.  It's like distclean, but
  459. ### it deletes backup and autosave files too.
  460. extraclean:
  461.     for i in ${SUBDIR}; do (cd $$i; $(MAKE) $(MFLAGS) extraclean); done
  462.     -(cd lock; rm *)
  463.     -rm config.status config-tmp-*
  464.     -rm -f *~ \#*
  465.  
  466. ### Unlocking and relocking.  The idea of these productions is to reduce
  467. ### hassles when installing an incremental tar of Emacs.  Do `make unlock'
  468. ### before unlocking the file to take the write locks off all sources so
  469. ### that tar xvof will overwrite them without fuss.  Then do `make relock'
  470. ### afterward so that VC mode will know which files should be checked in
  471. ### if you want to mung them.
  472. ###
  473. ### Note: it's no disaster if these productions miss a file or two; tar
  474. ### and VC will swiftly let you know if this happens, and it is easily
  475. ### corrected.
  476. SOURCES = ChangeLog GETTING.GNU.SOFTWARE INSTALL Makefile.in PROBLEMS \
  477.     README build-install.in configure make-dist move-if-change
  478.  
  479. .PHONY: unlock relock
  480.  
  481. unlock:
  482.     chmod u+w $(SOURCES) cpp/*
  483.     -(cd elisp; chmod u+w Makefile README *.texi)
  484.     (cd etc; $(MAKE) $(MFLAGS) unlock)
  485.     (cd lib-src; $(MAKE) $(MFLAGS) unlock)
  486.     (cd lisp; $(MAKE) $(MFLAGS) unlock)
  487.     (cd lisp/term; chmod u+w README *.el)
  488.     (cd man; chmod u+w *texi* ChangeLog split-man)
  489.     (cd oldXMenu; chmod u+w *.[ch] Makefile README)
  490.     (cd lwlib; chmod u+w *.[ch] Makefile README)
  491.     (cd src; $(MAKE) $(MFLAGS) unlock)
  492.  
  493. relock:
  494.     chmod u-w $(SOURCES) cpp/*
  495.     -(cd elisp; chmod u-w Makefile README *.texi)
  496.     (cd etc; $(MAKE) $(MFLAGS) relock)
  497.     (cd lib-src; $(MAKE) $(MFLAGS) relock)
  498.     (cd lisp; $(MAKE) $(MFLAGS) relock)
  499.     (cd lisp/term; chmod u+w README *.el)
  500.     (cd man; chmod u+w *texi* ChangeLog split-man)
  501.     (cd oldXMenu; chmod u+w *.[ch] Makefile README)
  502.     (cd lwlib; chmod u+w *.[ch] Makefile README)
  503.     (cd src; $(MAKE) $(MFLAGS) relock)
  504.  
  505. TAGS tags:    lib-src
  506.     cd ${srcdir}/src; $(MAKE) tags
  507.  
  508. check:
  509.     @echo "We don't have any tests for GNU Emacs yet."
  510.  
  511. dist:
  512.     cd ${srcdir}; make-dist
  513.  
  514. .PHONY: info dvi dist check
  515. force-info:
  516. info: force-info
  517.     (cd ${srcdir}/man; $(MAKE) $(MFLAGS) info)
  518. dvi:
  519.     (cd ${srcdir}/man; $(MAKE) $(MFLAGS) dvi)
  520.